Skip to content

Comments

bintools: only add macos flags when targeting macOS#83180

Merged
matthewbauer merged 1 commit intoNixOS:stagingfrom
matthewbauer:only-add-ldflags-for-macos
May 13, 2020
Merged

bintools: only add macos flags when targeting macOS#83180
matthewbauer merged 1 commit intoNixOS:stagingfrom
matthewbauer:only-add-ldflags-for-macos

Conversation

@matthewbauer
Copy link
Member

We can’t set this for cross-compiling since we use the GNU linker.
Instead, set these flags only when targetPlatform is macOS.

Fixes #80754

Fixes #83141

Motivation for this change
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

We can’t set this for cross-compiling since we use the GNU linker.
Instead, set these flags only when targetPlatform is macOS.

Fixes NixOS#80754

Fixes NixOS#83141
@ofborg ofborg bot added the 6.topic: darwin Running or building packages on Darwin label Mar 23, 2020
@matthewbauer matthewbauer requested a review from LnL7 March 23, 2020 04:33
@ofborg ofborg bot added 6.topic: stdenv Standard environment 10.rebuild-darwin-stdenv This PR causes stdenv to rebuild on Darwin and must target a staging branch. 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. labels Mar 23, 2020
Copy link
Member

@LnL7 LnL7 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if moving these flags here has implications, but seems reasonable.

@lovesegfault
Copy link
Member

This should target staging

@LnL7
Copy link
Member

LnL7 commented Mar 28, 2020

When this is good to go I also want to include it in #80890.

@matthewbauer matthewbauer changed the base branch from master to staging April 9, 2020 17:24
@matthewbauer matthewbauer merged commit d38bad5 into NixOS:staging May 13, 2020
@angerman
Copy link
Contributor

Can we get this backported into 20.03? @matthewbauer, @Ericson2314?

@LnL7
Copy link
Member

LnL7 commented Jun 18, 2020

@angerman Sounds good, wanted to wait a bit to make sure there's no fallout before backporting but it's in master now so should be good.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: darwin Running or building packages on Darwin 6.topic: stdenv Standard environment 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-darwin-stdenv This PR causes stdenv to rebuild on Darwin and must target a staging branch. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

riscv64-none-elf-ld fails with "unrecognised emulation mode: acosx_version_min" on macOS Darwin: cross compilation of glibc fails

4 participants